package com.coderman.infosys.user.app.converter;

import com.coderman.infosys.user.api.dto.request.CreaetUserAccountRequestDTO;
import com.coderman.infosys.user.api.dto.request.UserAccountQueryDTO;
import com.coderman.infosys.user.api.dto.response.ThirdUserDTO;
import com.coderman.infosys.user.domain.bo.ThirdUserBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
* @Description:ThirdUserConvert接口
* @Author:
* @CreateTime:2021-09-29 15:05:26
* @version v1.0
*/
@Mapper
public interface ThirdUserConvert{
	ThirdUserConvert INSTANCE = Mappers.getMapper(ThirdUserConvert.class);

	/**
	 *
	 * @Description:
	 * @return List<ThirdUserBO>
	 */
	 List<ThirdUserBO> creaetUserAccountRequestDTOs2boList(List<CreaetUserAccountRequestDTO> creaetUserAccountRequestDTOList);
	/**
	 *
	 * @Description:
	 * @return ThirdUserBO
	 */
	 ThirdUserBO dto2bo(CreaetUserAccountRequestDTO creaetUserAccountRequestDTO);
	/**
	 *
	 * @Description:
	 * @return List<ThirdUserDTO>
	 */
	 List<ThirdUserDTO> thirdUserBOs2dtoList(List<ThirdUserBO> thirdUserBOList);
	/**
	 *
	 * @Description:
	 * @return ThirdUserDTO
	 */
	 ThirdUserDTO bo2dto(ThirdUserBO thirdUserBO);
	/**
	 *
	 * @Description:
	 * @return List<ThirdUserBO>
	 */
	 List<ThirdUserBO> userAccountQueryDTOs2boList(List<UserAccountQueryDTO> userAccountQueryDTOList);
	/**
	 *
	 * @Description:
	 * @return UserAccountQueryDTO
	 */
	 UserAccountQueryDTO bo2dto2(ThirdUserBO thirdUserBO);
	/**
	 *
	 * @Description:
	 * @return ThirdUserBO
	 */
	 ThirdUserBO dto2bo(ThirdUserDTO thirdUserDTO);
	/**
	 *
	 * @Description:
	 * @return ThirdUserBO
	 */
	 ThirdUserBO dto2bo(UserAccountQueryDTO userAccountQueryDTO);
	/**
	 *
	 * @Description:
	 * @return List<UserAccountQueryDTO>
	 */
	 List<UserAccountQueryDTO> thirdUserBOs2dtoList2(List<ThirdUserBO> thirdUserBOList);
	/**
	 *
	 * @Description:
	 * @return List<ThirdUserBO>
	 */
	 List<ThirdUserBO> thirdUserDTOs2boList(List<ThirdUserDTO> thirdUserDTOList);
}